.\"	$NetBSD: ttys.5,v 1.20 2015/02/12 07:32:09 aymeric Exp $
.\"
.\" Copyright (c) 1985, 1991, 1993
.\"	The Regents of the University of California.  All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\" 3. Neither the name of the University nor the names of its contributors
.\"    may be used to endorse or promote products derived from this software
.\"    without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\"     from: @(#)ttys.5	8.1 (Berkeley) 6/4/93
.\"
.Dd April 5, 2012
.Dt TTYS 5
.Os
.Sh NAME
.Nm ttys
.Nd terminal initialization information
.Sh DESCRIPTION
The file
.Nm
contains information that is used by various routines to initialize
and control the use of terminal special files.
This information is read with the
.Xr getttyent 3
library routines.
.Pp
There is one line in the
.Nm
file per special device file.
Fields are separated by tabs and/or spaces.
Fields comprising more than one word should be enclosed in double
quotes (``"'').
Blank lines and comments may appear anywhere in the file; comments
are delimited by hash marks (``#'') and new lines.
Any unspecified fields will default to null.
.Pp
Each line in
.Nm
has the format:
.Dl tty command type flags
.Pp
The first field is the
name of the terminal special file as it is found in
.Pa /dev .
.Pp
The second field of the file is the command to execute for the line,
usually
.Xr getty 8 ,
which initializes and opens the line, setting the speed, waiting for
a user name and executing the
.Xr login 1
program.
However, it can be any desired command, for example the start up
for a window system terminal emulator or some other daemon process,
and can contain multiple words if quoted.
.Pp
The third field is the type of terminal usually connected to that
tty line, normally the one found in the
.Xr terminfo 5
data base file.
The environment variable
.Dv TERM
is initialized with the value by either
.Xr getty 8
or
.Xr login 1 .
.Pp
The remaining fields set flags in the
.Fa ty_status
entry (see
.Xr getttyent 3 )
or specify a window system process that
.Xr init 8
will maintain for the terminal line
or a key into a database of tty attributes (currently unused).
.Pp
.Bl -tag -width softcar
.It Sy on No or Sy off
.Xr init 8
should (or should not) execute the command given in the second field.
.It Sy secure
If
.Sy on
is specified, allows users with a uid of 0
.Pq e.g. Qq root
to login on this line.
.It Sy local
Sets the
.Dv TIOCFLAG_CLOCAL
.Xr tty 4
flag for the device.
This will cause the
.Xr termios 4
.Dv CLOCAL
flag to be set on every open and thus modem control signal lines will be
ignored by default.
.It Sy softcar
Causes the driver to ignore hardware carrier on the line (by setting the
.Dv TIOCFLAG_SOFTCAR
.Xr tty 4
flag).
.It Sy rtscts
Sets the
.Dv TIOCFLAG_CRTSCTS
.Xr tty 4
flag for the device to enable
.Tn RTS /
.Tn CTS
.Qq hardware
flow control by default.
.It Sy mdmbuf
Sets the
.Dv TIOCFLAG_MDMBUF
.Xr tty 4
flag for the device to enable
.Tn DTR /
.Tn DCD
.Qq hardware
flow control by default.
.El
.Pp
The flags
.Qq local ,
.Qq rtscts ,
.Qq mdmbuf ,
and
.Qq softcar
modify the default behaviour of the terminal line, and their actions
are device driver dependent.
These flag fields should not be quoted.
.Pp
The string ``window='' may be followed by a quoted command
string which
.Xr init 8
will execute
.Em before
starting the command specified by the second field.
.Pp
The string ``class='' may be followed by a quoted string used
as a key into a database of attributes for that category of tty.
See
.Xr getttynam 3
for more information on this feature.
.Pp
After changing the
.Nm
file a
.Dv SIGHUP
signal can be sent to
.Xr init 8
with the command
.Dq Li "kill \-s HUP 1" .
On receipt of this signal,
.Xr init 8
will re-read the
.Nm
file and spawn any necessary
.Xr getty 8
processes.
.Pp
.Sy Nota Bene :
Sending
.Dv SIGHUP
to
.Xr init 8
does
.Em not
change the state of the various
.Xr tty 4
device flags listed above; the
.Xr ttyflags 8
program must be run for changes in those flags to take effect on the devices.
.Sh FILES
.Bl -tag -width /etc/ttys -compact
.It Pa /etc/ttys
.El
.Sh EXAMPLES
.Bd -literal
# root login on console at 1200 baud
console	"/usr/libexec/getty std.1200"	vt100	on secure
# dialup at 1200 baud, no root logins
tty00	"/usr/libexec/getty d1200"	dialup	on	# 555-1234
# Mike's terminal: hp2621
ttyh0	"/usr/libexec/getty std.9600"	hp2621-nl	on	# 457 Evans
# John's terminal: vt100
ttyh1	"/usr/libexec/getty std.9600"	vt100	on		# 459 Evans
# terminal emulate/window system
ttyv0	"/usr/new/xterm -L :0"		vs100	on window="/usr/new/Xvs100 0"
# Network pseudo ttys -- don't enable getty
ttyp0	none	network
ttyp1	none	network	off
.Ed
.Sh SEE ALSO
.Xr login 1 ,
.Xr getttyent 3 ,
.Xr ttyslot 3 ,
.Xr tty 4 ,
.Xr gettytab 5 ,
.Xr terminfo 5 ,
.Xr getty 8 ,
.Xr init 8 ,
.Xr ttyflags 8
.Sh HISTORY
A
.Nm
file appeared in
.At v6 .
